package com.ganzi.ganziserver.dao;

import com.ganzi.ganziserver.core.ControlLog;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.math.BigInteger;
import java.sql.Timestamp;
import java.util.List;

@Repository
public interface ControlLogDao {

    public List<ControlLog> findAllControlLog()throws Exception;
    public List<ControlLog> findControlLogByUserId(long uid)throws Exception;
    public Long findControlLogByInfoId(String infoId)throws Exception;
    public List<ControlLog> findControlLogByUserIdAnSendState(@Param("uid") long uid, @Param("sendState")int sendState)throws Exception;
    public List<ControlLog> findControlLogByUserIdAnSchoolId(@Param("uid") long uid, @Param("schoolId")long schoolId)throws Exception;
    public List<ControlLog> findControlLog(@Param("uid") long uid, @Param("schoolId")long schoolId, @Param("sendState")int sendState, @Param("beforeTime")long beforeTime,@Param("afterTime")long afterTime)throws Exception;
    public int findControlLogCount(@Param("uid") long uid, @Param("schoolId")long schoolId, @Param("sendState")int sendState, @Param("beforeTime")long beforeTime,@Param("afterTime")long afterTime)throws Exception;
    public void insertControlLog(ControlLog log)throws Exception;
    public void deleteControlLog(long id)throws Exception;
    public void updateControlLogStateByInfoId(@Param("sendState")int sendState,@Param("stateInformation")String stateInformation,@Param("infoId")String infoId)throws Exception;
}
